A batch framework can typically support a single task that represents a job. The framework can also execute serial tasks with the assistance of a batch journal; however, there may not be other dependency support. Additionally, tasks execution can require connecting a client and manually launching a batch engine. Other batch engines can employ a workflow style where a task that finishes executing includes the logic about what to do next.
For example, the following limitations can exist in current batch processing frameworks. The framework requires a client for processing batch jobs, and the batch cannot simply be submitted with the assumption that the job will be executed, as the job may not run if a client is not open. Moreover, the framework may not support parallelism. There can be various scenarios where a batch job that processes transactions, for example, could be broken into separate sub-jobs and executed against different batch server instances to increase throughput and reduce overall execution time. Moreover, the batch framework may not allow the creation of a dependency tree for the different tasks that comprise the batch job.
Given the advances in hardware and software, consumers seek more efficient mechanisms for handling task processing for all purposes, such as in business environments.